]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
workspace: Fix layout errors caused by window zoom
authorFlorian Müllner <fmuellner@gnome.org>
Wed, 6 Jul 2011 15:46:47 +0000 (17:46 +0200)
committerFlorian Müllner <fmuellner@gnome.org>
Wed, 6 Jul 2011 20:06:45 +0000 (22:06 +0200)
Commit 64b2b4a7d4 changed the monitor layout handling, resulting
in some layout errors due to a subtle change in memory handling:
when zooming a window in the overview, the available zoom area is
calculated by subtracting the panel height from the primary monitor
area. This area used to be a copy of the monitor rect, but as now
the rect itself is returned, zooming a window on the primary monitor
repeatedly modifies the monitor rect, leading to layout errors in
various parts of the shell.
Fix by using a copy when calculating the available zoom area.

https://bugzilla.gnome.org/show_bug.cgi?id=654105

js/ui/workspace.js

index aaf3994c01c2655b2252f49d6ce8756305303a55..e6c65b973781f15672d094e8e9aa9e326935a2c9 100644 (file)
@@ -225,7 +225,11 @@ WindowClone.prototype = {
         let [width, height] = this.actor.get_transformed_size();
 
         let monitorIndex = this.metaWindow.get_monitor();
-        let availArea = Main.layoutManager.monitors[monitorIndex];
+        let monitor = Main.layoutManager.monitors[monitorIndex];
+        let availArea = new Meta.Rectangle({ x: monitor.x,
+                                             y: monitor.y,
+                                             width: monitor.width,
+                                             height: monitor.height });
         if (monitorIndex == Main.layoutManager.primaryIndex) {
             availArea.y += Main.panel.actor.height;
             availArea.height -= Main.panel.actor.height;